Programación básica R studio

Sesión 02 - Manipulación de datos

Autor/a
Afiliación

Issac Rodas Caseres

Universidad del Magdalena, Santa Marta

Fecha de publicación

6 de septiembre de 2025

titulo 1

titulo 2

titulo 3

funciona lo de whatssap

con control + alt + i se abre el chunk

1+1
[1] 2

primer paso

preparar la maquina. llamar la libreria

library(tidyverse)
library(dplyr)
library(ggplot2)

segundo paso

Hacer llamado y visualización de DB

library(kableExtra)
empleados <- readRDS("./df_empleados.rds")
# el Kable formatea la tabla
kable(head(empleados, 10))
ID Edad Salario Departamento Años_Experiencia Nivel_Educativo Sexo Horas_Trabajo_Semanal
1 52 58039 Finanzas 10 Bachiller Femenino 40
2 36 22571 IT 24 Pregrado Masculino 43
3 35 22797 Marketing 35 Pregrado Femenino 40
4 24 70589 Ventas 10 Pregrado Masculino 37
5 58 41536 Finanzas 8 Pregrado Masculino 45
6 35 64555 Ventas 32 Bachiller Femenino 48
7 46 49720 IT 7 Bachiller Femenino 40
8 47 55436 Marketing 38 Pregrado Masculino 43
9 48 80170 Ventas 17 Pregrado Femenino 40
10 26 32330 Ventas 20 Bachiller Masculino 45

Paso 3

Describir los datos ¿qué tengo yo en mi base de datos?

mi df fue capturada en la empresa X la cual cuenta con 200 registros a 200 empleados. Aplicando 8 preguntas sobre su salario.

paso 3.1

Realizar un describe de datos para entenderla

# sumary resume toda la base de datos
kable(summary(empleados))
ID Edad Salario Departamento Años_Experiencia Nivel_Educativo Sexo Horas_Trabajo_Semanal
Min. : 1.00 Min. :22.00 Min. : 340 Length:200 Min. : 1.00 Length:200 Length:200 Min. :27.00
1st Qu.: 50.75 1st Qu.:32.00 1st Qu.:37908 Class :character 1st Qu.:10.00 Class :character Class :character 1st Qu.:37.00
Median :100.50 Median :43.00 Median :49569 Mode :character Median :20.00 Mode :character Mode :character Median :40.00
Mean :100.50 Mean :41.64 Mean :49371 NA Mean :19.73 NA NA Mean :40.48
3rd Qu.:150.25 3rd Qu.:50.00 3rd Qu.:60456 NA 3rd Qu.:29.00 NA NA 3rd Qu.:43.25
Max. :200.00 Max. :60.00 Max. :90623 NA Max. :38.00 NA NA Max. :54.00
kable(table(empleados$Departamento))
Var1 Freq
Finanzas 54
IT 38
Marketing 53
Ventas 55

Analisis cruzado

table(empleados$Departamento, empleados$Sexo)
           
            Femenino Masculino
  Finanzas        23        31
  IT              22        16
  Marketing       27        26
  Ventas          28        27

¿Qué pasa con el nivel educativo de los empleados?

library(plotly)

Attaching package: 'plotly'
The following object is masked from 'package:ggplot2':

    last_plot
The following object is masked from 'package:stats':

    filter
The following object is masked from 'package:graphics':

    layout
table(empleados$Nivel_Educativo, empleados$Sexo)
           
            Femenino Masculino
  Bachiller       34        30
  Postgrado       38        34
  Pregrado        28        36
g1 <- ggplot(empleados, aes(x = Nivel_Educativo, fill = Nivel_Educativo)) + 
  geom_bar() +
  labs(title = "Distribución de Empleados por Nivel Educativo", x = "Nivel Educativo", y = "Número de Empleados") +
  theme_minimal()
ggplotly(g1)